home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 March / macformat-022.iso / Shareware City / Developers / src / out-of-phase-102-c / OutOfPhase 1.02 Source / OutOfPhase Folder / ASTWaveGetter.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-23  |  1.4 KB  |  53 lines  |  [TEXT/KAHL]

  1. /* ASTWaveGetter.h */
  2.  
  3. #ifndef Included_ASTWaveGetter_h
  4. #define Included_ASTWaveGetter_h
  5.  
  6. /* ASTWaveGetter module depends on */
  7. /* MiscInfo.h */
  8. /* Audit */
  9. /* Debug */
  10. /* Definitions */
  11. /* PcodeObject */
  12. /* CompilerRoot */
  13. /* Memory */
  14. /* TrashTracker */
  15. /* ASTWaveGetter */
  16.  
  17. #include "PcodeObject.h"
  18. #include "CompilerRoot.h"
  19.  
  20. struct ASTWaveGetterRec;
  21. typedef struct ASTWaveGetterRec ASTWaveGetterRec;
  22.  
  23. /* all memory allocated in this module is from TrashTracker */
  24.  
  25. /* forwards */
  26. struct TrashTrackRec;
  27.  
  28. typedef enum
  29.     {
  30.         eWaveGetterSampleLeft EXECUTE(= -21652),
  31.         eWaveGetterSampleRight,
  32.         eWaveGetterSampleMono,
  33.         eWaveGetterWaveFrames,
  34.         eWaveGetterWaveTables,
  35.         eWaveGetterWaveArray
  36.     } WaveGetterOp;
  37.  
  38. /* create a new AST wave getter form */
  39. ASTWaveGetterRec*        NewWaveGetter(char* SampleName, WaveGetterOp TheOperation,
  40.                                             struct TrashTrackRec* TrashTracker, long LineNumber);
  41.  
  42. /* type check the wave getter node.  this returns eCompileNoError if */
  43. /* everything is ok, and the appropriate type in *ResultingDataType. */
  44. CompileErrors                TypeCheckWaveGetter(DataTypes* ResultingDataType,
  45.                                             ASTWaveGetterRec* WaveGetter, long* ErrorLineNumber,
  46.                                             struct TrashTrackRec* TrashTracker);
  47.  
  48. /* generate code for a wave getter.  returns True if successful, or False if it fails. */
  49. MyBoolean                        CodeGenWaveGetter(struct PcodeRec* FuncCode,
  50.                                             long* StackDepthParam, ASTWaveGetterRec* WaveGetter);
  51.  
  52. #endif
  53.